<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 类 
        // class 类名{}
        class Aaa{
            // 就相当于是构造函数中函数本身
            constructor(name){
                // 在这个函数中设置的东西就会添加给创建的对象本身
                this.name = name;
            }
            // 除了constructor函数外,其余的函数都会添加在原型对象中
            run(){
                console.log("原型对象中的run函数");
            }
            run2(){

            }
        }
        // var a = new Aaa("lili");
        // console.log(a);
        // a.run()

        class Bbb extends Aaa{
            // 在不写constructor时会将整个constructor继承
        }
        var b = new Bbb("nana");
        console.log(b)
        b.run();

        class Ccc extends Bbb{
            constructor(name2){
                // 相当于是调用了父类中的constructor
                super(name2)
            }
            run(){
                // super就相当于是父类对象, 可以用来调用父类中的函数
                super.run();
                console.log("------");
            }
            run3(){

            }
        }
        var c = new Ccc("张三");
        console.log(c);//{name:"张三"}
        c.run()
    </script>
</body>
</html>